#include "Balles.h"


Balles::Balles(){
	tete=NULL;
}

Balles::~Balles(){
	if(tete!=NULL)
		delete tete;
}

void Balles::ajouterUnLaser(Laser* l){
	ListeLaser* ll = new ListeLaser(l);
	if(tete==NULL){
		tete = ll;	
	}
	else{
		ListeLaser* courrant = tete;
		do{
			if(courrant->getSuivant()!=NULL){
				courrant = courrant->getSuivant();
			}		
		}while(courrant->getSuivant()!=NULL);
		courrant->ajouterLaser(ll);
	}

}
Laser* Balles::getUnLaser(int noL){
	ListeLaser* courrant = tete;
	Laser* l = NULL;
	if(tete!=NULL){
		do{
		l = courrant->getLaser();
		if(l->getNoLaser()==noL){
			break;
		}
		courrant = courrant->getSuivant();
		}while(courrant!=NULL);
	}
	return l;


}
void Balles::retirerUnLaser(int noL){
	ListeLaser* courrant = this->tete;
	Laser* l;
	if(tete!=NULL){
		do{
		l = courrant->getLaser();
		if(l->getNoLaser()==noL){
			courrant = courrant->getSuivant();
			l->removeLaser();
			break;
		}	
		else{
			if(courrant->getSuivant()==NULL){
				if(l->getNoLaser()==noL){
				courrant = NULL;
				l->removeLaser();
				break;
				}
			}
		}
		courrant = courrant->getSuivant();
		}while(courrant!=NULL);
	}
}